ファイルの関連付けの意義
Q:(貴子)
データ?
A:(延さん)
そうデータです。例えば我々は、ワードが使いたくてワード文書を開くのではありません。文書というデータを書きたいからワードを起動するのです。しかし関連付け起動が無かったら、ワード文書を編集したいと思った時どうする?
Q:(貴子)
そうね。まずワードを起動して、それから目的の文書を開くわね。
A:(延さん)
そうだろ。そもそもそれが逆なのだというのが、この思想の出発点です。我々は文書データを作りたいのであり、画像データを作りたいのであり、ワードを使いたい訳でも、一太郎を操作したい訳でも、ペイントを触りたい訳でも、PhotoShopを使いたい訳でもないのです。アプリケーションソフトは目的を達成するための手段に過ぎません。誤解を恐れずに言えば、ユーザにとってはアプリケーションなんて何でもいいのです。
なのに、ユーザが一所懸命アプリケーションを探しにいって起動し、それからデータを指定するというのは、本末転倒であるという訳です。
特に階層の深いところにあるファイルをエクスプローラで見ていたとしましょう。もし関連付け起動がないと、今そこに目的のファイルがあるのに、わざわざまたスタートメニューからアプリケーションを起動し、アプリケーションの「ファイルを開く」メニューで、またせっせと深い階層を辿ってそのファイルを探しにいく。まったく無駄な動作であると言えます。
Q:(憲さん)
ふんふん。
A:(延さん)
ユーザの目的は、文書や画像などのデータにあるのですから、ユーザは「このデータを扱いたい」とだけシステム(オペレティングシステム、OS)に告げればいい。そう頼まれたシステムは指定されたデータを扱うべきアプリケーションソフトを探してきて起動し、さらにそのデータを開くところまで面倒をみる。
これが即ち「ファイルの関連付け起動」という訳です。データはシステムの中で「ファイル」として存在しているので「ファイルの関連付け」と呼ばれます。ユーザ側に立った非常に優れた考え方であると思います。
Q:(憲さん)
確かにそれは便利ですね。
A:(延さん)
しかしことは簡単ではないです。システムが扱うべきアプリケーションソフトを探すにあたって、ユーザが指定したファイル(データ)がどうような種類(これをファイルタイプという)のものなのかを解析する必要があります。それが文書なのか、画像なのか、表計算シートなのか。いったいどのように解析するのでしょうか。
Q:(貴子)
当然中身を見ないと分からないわよね。
A:(延さん)
本来はそうだね。しかし中身を見たところで、システムが無数のアプリケーションが作成するであろうあらゆる種類のデータの構造やフォーマットなど知る由もないです。更にいえば、それはシステムが知っているべきことではないはずです。もしシステムが全部知っているなら、それこそアプリケーションソフトの存在意義がなくなりますからね。
従ってシステムがファイルの中身をみて、種類を特定するなどということは全く不可能であるといわざるを得ません。
Q:(憲さん)
では、どうするのでしょうか?
A:(延さん)
そうは言っても、何とか種類を特定するため、どこかで妥協点を模索するしかないわけです。そこで考えられたのが「ファイル名」にデータの種類を示す「記号」を付加したらどうかということです。
Q:(貴子)
それが「拡張子」ね。
A:(延さん)
その通り。システムはとにかく拡張子だけを見て、種類(ファイルタイプ)を特定してしまっていい。実際の中身と拡張子の整合性は、アプリケーションソフトやユーザが責任をもつということで妥協した訳です。「ファイルの関連付け」は具体的には「拡張子とアプリケーションの関連付け」となる訳です。
Q:(貴子)
ということは拡張子というのはとっても重要ね。
A:(延さん)
そりゃそうだよ。だからファイルの拡張子を変更するとシステムからこんな警告がされるでしょ。
[拡張子変更警告ダイアログ]
皆さん、ファイルの関連付けの意義については分かりましたか?
Q:(初心者の皆さん)
はーい。